import SwiftUI struct EvolutionPicker: View { @EnvironmentObject private var store: AppStore private var selectedEvolution: Binding { Binding( get: { store.state.selectedEvolution }, set: { evolution in store.send(.selectEvolution(evolution: evolution)) } ) } var body: some View { Picker("Evolution", selection: selectedEvolution) { ForEach(StageType.types) { stage in Text(Stage.title(stage)).tag(stage).padding(4.0) } Divider() ForEach(StageType.characteristics) { stage in Text(Stage.title(stage)).tag(stage).padding(4.0) } Divider() ForEach(StageType.properties) { stage in Text(Stage.title(stage)).tag(stage).padding(4.0) } Divider() ForEach(StageType.custom) { stage in Text(Stage.title(stage)).tag(stage).padding(4.0) } }.padding(.horizontal, 8.0).padding(.vertical, 4.0) } } struct EvolutionPicker_Previews: PreviewProvider { static var previews: some View { EvolutionPicker() } }